package com.aizuda.boot.modules.business.performance.domain.entity;

import com.aizuda.boot.modules.common.constant.enums.PerformanceMethodEnum;
import com.aizuda.boot.modules.common.constant.enums.PerformanceTypeEnum;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * @Author sangyirong
 * @ClassName PerformanceEntity
 * @Version 1.0
 * @Date 2025/6/4 15:47
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Schema(description = "合同履约实体")
@TableName("contract_performance")
public class ContractPerformanceEntity {

    @Schema(description = "合同履约合同类型范围ID")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @Schema(description = "合同履约类型")
    private PerformanceTypeEnum performanceType;

    @Schema(description = "合同履约名称")
    private String performanceName;

    @Schema(description = "提醒时间")
    private String performanceTime;

    @Schema(description = "到期前多少天提醒")
    private Integer performanceDay;

    @Schema(description = "提醒对象")
    private String performanceObject;

    @Schema(description = "指定对象id")
    private String performanceUser;

    @Schema(description = "合同履约方式")
    private PerformanceMethodEnum performanceMethod;

    @Schema(description = "创建时间")
    private Date createdAt;

    @Schema(description = "更新时间")
    private Date updatedAt;
}
